package com.leiduoduo.oms.service;

import com.leiduoduo.oms.pojo.User;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.concurrent.Future;

public interface UserService {
    /**
     * 根据userid查询用户
     * @param app_code
     * @return User
     */
    User getUserByCode(String app_code);

    /**
     * 添加一个用户
     * @param user
     * @return
     */
    boolean addUser(User user);

    /**
     * 得到所有用户信息
     * @return List<User>
     */
    List<User> getUserList();

    /**
     * 上传图片
     * @param pic
     * @param req
     * @return 结果信息（这里应该改为位置信息）
     */
    String uploadPic(MultipartFile pic, HttpServletRequest req);

    /**
     *获取图片（基本不用）
     * @param path
     * @return
     */
    byte[] getPic(String path);

    /**
     *更新user信息
     * @param user
     * @return boolean
     */
    boolean upUser(User user);

    /**
     *更新用户token信息
     * @param user
     * @return boolean
     */
    boolean upUserToken(User user);

    /**
     * 删除user
     * @param user
     * @return boolean
     */
    boolean delUser(User user);

    /**
     * 生成一个token
     * @param openId
     * @return
     */
    String createToken(String openId);

    /**
     *获取微信的openid
     * @param appId
     * @param appSecret
     * @param code
     * @return openId
     */
    String getWeChatOpenId(String appId, String appSecret, String code);

    /**
     * 根据userid查询用户
     * @param openId
     * @return User
     */
    User getUserByOpenId(String openId);

    Future<String> test();

}
